package com.ruoyi.system.domain;

import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 文件记录信息对象 file_record
 * 
 * @author ruoyi
 * @date 2025-10-16
 */
public class FileRecord extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 唯一ID */
    private Long id;

    /** 文件名称 */
    @Excel(name = "文件名称")
    private String fileName;

    /** 文件大小（字节） */
    @Excel(name = "文件大小", readConverterExp = "字=节")
    private Long size;

    /** 文件存储路径（缩短长度） */
    @Excel(name = "文件存储路径", readConverterExp = "缩=短长度")
    private String filePath;

    /** 文件类型（如txt、jpg等） */
    @Excel(name = "文件类型", readConverterExp = "如=txt、jpg等")
    private String fileType;

    /** 文件哈希值（用于校验完整性） */
    @Excel(name = "文件哈希值", readConverterExp = "用=于校验完整性")
    private String fileHash;

    /** 存储类型：1-本地存储 2-云存储 */
    @Excel(name = "存储类型：1-本地存储 2-云存储")
    private Integer storageType;

    /** 文件状态：1-正常 2-损坏 3-过期 */
    @Excel(name = "文件状态：1-正常 2-损坏 3-过期")
    private Integer status;

    /** 执行标记：0-未执行 1-已执行 */
    @Excel(name = "执行标记：0-未执行 1-已执行")
    private Integer isExecute;

    /** 删除标记：0-未删除 1-已删除 */
    @Excel(name = "删除标记：0-未删除 1-已删除")
    private Integer isDeleted;

    /** 版本号（用于乐观锁） */
    @Excel(name = "版本号", readConverterExp = "用=于乐观锁")
    private Integer version;

    /** 创建人 */
    @Excel(name = "创建人")
    private String creator;

    /** 更新人 */
    @Excel(name = "更新人")
    private String updater;

    /** 错误信息 */
    @Excel(name = "错误信息")
    private String errorMsg;

    public String getErrorMsg() {
        return errorMsg;
    }

    public void setErrorMsg(String errorMsg) {
        this.errorMsg = errorMsg;
    }

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }

    public void setFileName(String fileName) 
    {
        this.fileName = fileName;
    }

    public String getFileName() 
    {
        return fileName;
    }

    public void setSize(Long size) 
    {
        this.size = size;
    }

    public Long getSize() 
    {
        return size;
    }

    public void setFilePath(String filePath) 
    {
        this.filePath = filePath;
    }

    public String getFilePath() 
    {
        return filePath;
    }

    public void setFileType(String fileType) 
    {
        this.fileType = fileType;
    }

    public String getFileType() 
    {
        return fileType;
    }

    public void setFileHash(String fileHash) 
    {
        this.fileHash = fileHash;
    }

    public String getFileHash() 
    {
        return fileHash;
    }

    public Integer getStorageType() {
        return storageType;
    }

    public void setStorageType(Integer storageType) {
        this.storageType = storageType;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public Integer getIsExecute() {
        return isExecute;
    }

    public void setIsExecute(Integer isExecute) {
        this.isExecute = isExecute;
    }

    public Integer getIsDeleted() {
        return isDeleted;
    }

    public void setIsDeleted(Integer isDeleted) {
        this.isDeleted = isDeleted;
    }

    public Integer getVersion() {
        return version;
    }

    public void setVersion(Integer version) {
        this.version = version;
    }

    public void setCreator(String creator)
    {
        this.creator = creator;
    }

    public String getCreator() 
    {
        return creator;
    }

    public void setUpdater(String updater) 
    {
        this.updater = updater;
    }

    public String getUpdater() 
    {
        return updater;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("fileName", getFileName())
            .append("size", getSize())
            .append("filePath", getFilePath())
            .append("fileType", getFileType())
            .append("fileHash", getFileHash())
            .append("storageType", getStorageType())
            .append("status", getStatus())
            .append("isExecute", getIsExecute())
            .append("isDeleted", getIsDeleted())
            .append("version", getVersion())
            .append("createTime", getCreateTime())
            .append("updateTime", getUpdateTime())
            .append("creator", getCreator())
            .append("updater", getUpdater())
            .toString();
    }
}
